/**
 * Copyright (c) 2021-2023 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// Autogenerated file -- DO NOT EDIT

% call_me_from_template

% exist_visitors = Array.new
% visitors.each do |visitor|
%   Compiler::intrinsics.select {|intrinsic| intrinsic.space == "abckit" }.each do |intrinsic|
%     if (visitor.ir_op == "#{intrinsic.class_name}Intrinsic")
%      exist_visitors.push(intrinsic.class_name)
%     end
%   end
static <%= visitor_sig(visitor.ir_op, false) %>;
% end
% Compiler::intrinsics.select {|intrinsic| intrinsic.space == "abckit" }.each do |intrinsic|
%   if !(exist_visitors.include? intrinsic.class_name)
%     exist_visitors.push(intrinsic.class_name)
static <%= visitor_sig("#{intrinsic.class_name}Intrinsic", false) %>;
%   end
% end